package com.jic.market.response;

import com.jic.market.request.PromotionMemberGradeRequest;
import io.swagger.annotations.ApiModelProperty;
import io.swagger.models.auth.In;
import lombok.Data;
import lombok.experimental.Accessors;

import java.math.BigDecimal;
import java.util.Date;
import java.util.List;

/**
 * description: PromotionResponse
 * date: 2020/1/10 14:54
 * author: admin
 * version: 1.0
 */
@Data
@Accessors(chain = true)
public class PromotionResponse {

    private static final long serialVersionUID = 1L;

    /*
     *
     */
    private Long id;


    /*
     * 促销活动名称
     */
    private String promName;


    /*
     * 活动开始时间
     */
    private Date startTime;
    private Date endTime;


    /*
     * 类型:1单一促销,2满量促销,3满额促销...
     */
    private Integer promType;


    /*
     * 促销类型:  1特价促销，2折扣促销，3直降促销，4满减折，5满量折，6满额减，7满额折，8满金额赠，9买商品赠...
     */
    private Integer frontPromType;

    /**
     * 促销类型 支付方式
     */
    private String payFrontPromType;


    /*
     * 选品类型:1部分参与,2全场参与
     */
    private Integer selectionRange;


    /*
     * 是否叠加应用，次数，-1否，n次数
     */
    private Integer overlayAppNum;

    private Integer overlayAppFlag;


    /*
     * 赠品类型 1赠商品，2赠优惠券
     */
    private Integer giftType;


    /*
     * 秒杀
     */
    private String description;


    /*
     * 是否支持折上折 0否，1是
     */
    private Integer foldingFlag;


    /*
     * 是否排斥优惠券 0否，1是
     */
    private Integer rejectCouponsFlag;


    /*
     * 是否包邮 0否，1是
     */
    private Integer parcelsFlag;


    /*
     * 超限规则，1按原价购买，2不可购买
     */
    private Integer overLimitRule;


    /*
     * 活动渠道code
     */
    private String channelCodes;

    /**
     * 创建商家id
     */
    private Long createMerchantId;

    /**
     * 创建商家名称
     */
    private String createMerchantName;

    /**
     * 规则说明
     */
    private String ruleInfo;

    /**
     * 规则说明第二语言
     */
    private String ruleInfoLan2;

    /**
     * 秒杀活动标记 0:非秒杀活动 1:秒杀活动
     */
    private Integer seckillFlag;


    /**
     * 活动状态 0初始化 1 未审核  2 待审核  3未开始 4 审核不通过  5 进行中  6 已过期  7 已关闭
     */
    private Integer status;

    /**
     * 备注
     */
    private String remark;

    /**
    * 审核备注
    * */
    private String auditRemark;

    /**
     * 促销方式，对应前端是促销类型，和promotion_rule表中的content_type一致
     */
    private Integer ContentType;

    /**
     * 创建时间
     */
    private Date createTime;

    /**
     * 更新时间
     */
    private Date updateTime;

    private String creatorName;

    /*
     * 活动平台
     */
    private String proPlatform;


    /*
     * 用户类型
     */
    private String proUserType;


    /*
     * 会员类型
     */
    private String proMemberType;


    /*
     * 会员等级
     */
    private String proMemberLevel;

    private List<PromotionRuleResponse> promotionRules;


    /**
     * 预售活动相关参数
     */
    //预售价模式，1一口价
    private Integer frontPromMode;
    //定金支付时间开始
    private Date frontMoneyPayTimeStart;
    //定金支付时间结束
    private Date frontMoneyPayTimeEnd;
    //尾款支付时间开始
    private Date tailMoneyPayTimeStart;
    //尾款支付时间结束
    private Date tailMoneyPayTimeEnd;
    //开始发货时间结束
    private Date sendGoodsTime;
    //定金是否可退:默认0否;1是
    private Boolean isRefundFrontMoney;


    private Long labelId;


//    private List<String> storeArea;
//
//
//    private List<String> userArea;


    private String costAllocationFlag;


    private Integer parentAllocationScale;


    private Integer childAllocationScale;


    private Integer merchantAllocationScale;


    private Integer storeAllocationScale;


    /*
     * 是否主赠相同0否，1是
     */
    private Integer mainGiftSameFlag;


    /*
     * 运费类型，1满x元，免运费，2满x元减y元运费
     */
    private Integer freightType;


    /*
     * 运费满x元
     */
    private BigDecimal freightValue;


    /*
     * 运费减免
     */
    private BigDecimal freightReducedValue;


    /*
     * 赠券节点，1订单已支付，2订单已收获，3订单已完成
     */
    private Integer giveCouponNode;

    private String tagName;

    @ApiModelProperty(notes = "是否可编辑")
    private Boolean editFlag;

    /**
     * 平台类型 类型 0运营平台、1 子平台、2 商家、3 店铺
     */
    private Integer deptType;
    /**
     * 平台id
     */
    private Long deptId;

    private String promotionCode;

    private String memTypes;

    private List<PromotionMemberGradeRequest> promotionMemberGradeList;

    @ApiModelProperty(notes = "搜索词")
    private String searchKeyword;
    @ApiModelProperty(notes = "活动费用预算")
    private Long budget;
    @ApiModelProperty(notes = "预警比例")
    private String warningNum;

    @ApiModelProperty("渠道id")
    private String channelId;
}
